mysql如何為有相同屬性記錄,根據時間的排序,給表或者查

2021-03-19 04:33:39 字數 7293 閱讀 3768

1樓:無須有太多

你得操作是不是要這樣???如果是的話,那麼我把我得想法寫個部落格,位址到時候貼過來

2樓:匿名使用者

你可以select * from table order by depart desc, time就行了,但是mysql做不到自動追加那個noid,noid你可以在遍歷資料的時候新增,例(針對如上sql)

$depart = false;

$index = 0;

foreach ($rows as $key => $row)$index ++;

$rows[$key]['noid'] = $index;}

3樓:匿名使用者

少得很,我也沒找到,抱歉!

4樓:紫氣東來

樓上的沒找到說個屁啊,我這個我學過,我回去查查,記得追問我,不然我就忘了

mysql資料庫如何為表中已有的主鍵字段增加自增屬性?sql語句怎麼寫

5樓:匿名使用者

你建立表的時候就應該建立id-->id int primary key auto_increment

如果應經建立成功

alter table `tablename`modify column `fieldname`varchar(14)

6樓:匿名使用者

alter table `category ` modify column `id` int(11) not null auto_increment first ,add primary key (`id`);

試試吧,應該是這樣子

7樓:乙個網際網路使用者

alter table category modify id int auto_increment primary key

8樓:匿名使用者

alter table `category` modify `id` int primary key auto_increment;

或者alter table `category` change `id` int primary key auto_increment;

mysql表中字段有多個相同記錄值,如何將相同的記錄相加。並排序所有username

9樓:司馬鑄劍

這個恐怕要用存貯過程或程式設計實現, 提個思路:

1) 建立一

個同欄位結構的新錶table2

2) 按col1排序

3) 迴圈每條記錄, 記錄每個字段值到臨時變數中, 名為vcol1, vcol2...

if (col1 == 前一條記錄vcol1)累加vcol2, vcol3...(如果是字串則相連)else

將vcol1, vcol2...各欄位插入table2中4)最終table2應該是你想要的結果

如何在mysql資料庫中給已有的資料表新增自增id

10樓:匿名使用者

首先碼卻保你這張表中沒有primary key,如果有先刪除這張表中的 primary key,

然後建立乙個自增長字段

語法如下:

alter table `表名` add `欄位名` int unsigned not null auto_increment primary key

例如:alter table `custnew` add `cust_id` int unsigned not null auto_increment primary key

mysql資料庫問題,如何同乙個操作新增兩個表(a表,b表),並把b表的id新增到a表字段中,b表id自動增長

11樓:xin宇宙的靈魂

建立乙個中間表分別設定獲取對於值,這個屬於傳遞賦值。

mysql 資料庫查詢 按時間排序 如果時間一樣 按主鍵排序怎麼寫 在一張表裡

12樓:風吹的小羊

select * from tab order by date desc,table_id desc。

在資料庫中,輸入這些就可以按時間排序。

mysql 是乙個關係型資料庫,由瑞典 mysql ab 公司開發,目前屬於 oracle 旗下公司。mysql 最流行的關係型資料庫管理系統,在 web 應用方面 mysql 是最好的 rdbms (relational database management system,關聯式資料庫管理系統) 應用軟體之一。mysql 是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性。

mysql 所使用的 sql 語言是用於訪問資料庫的最常用標準化語言。mysql 軟體採用了雙授權政策(本詞條"授權政策"),它分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型**的開發都選擇 mysql 作為**資料庫。由於其社群版的效能卓越,搭配 php ,linux和 apache 可組成良好的開發環境,經過多年的web技術發展,在業內被廣泛使用的一種web伺服器解決方案之一,稱之為lamp。

13樓:樑子很威武

select * from 表名 order by table_id desc

14樓:幽夢

主鍵都是唯一的,一般都按這個排序,系統預設的排序搜是按公升序排列,desc是降序排列

select * from 表名 order by table_id desc

mysql資料庫中,設定id為自動增加,向資料庫中插入資料時,sql語句怎麼寫?

15樓:摳腳小聖

在建立表的時候就將自增寫好:

比如:`id` int(11) not null auto_increment,就是讓id這個屬

性自增。

你需要在建立資料庫的語句最後寫這麼一句:auto_increment=1。表明自增數字從1開始。

之後插入資料的sql語句就正常寫就行了:insert into user values( ??);根據你的實際情況:

插入資料時只需要插入name和password就好,所以values中的「?」兩個就夠了

16樓:愛可生雲資料庫

隨著 mysql 8.0.16 的釋出,我們為 mgr 新增了一些功能,以增強其高可用性。其中乙個功能是能夠在某些情況下啟用已離開組的成員自動重新加入,而無需使用者干預。

為了理解這個功能的好處以及如何使用它,我們將快速檢視它背後的概念以及它首先存在的動機。

介紹mgr 允許 mysql 使用者輕鬆管理高可用組,並完成保證系統高可用所需的所有特徵,例如容錯或故障檢測。

mgr 中提供的基本保證之一是該組呈現給使用者的是乙個不可分割的整體,這意味著一旦成員加入或離開該組,該更改將立即被其他成員得知。預設情況下,組內的資料本身最終是一致的,儘管可以被修改。為了實現這種保證,mgr 使用組成員服務,以及通過一致性演算法檢測有衝突的事務並中止它們。

mgr 的這一方面超出了本文的範圍,與成員自動重新加入功能並不完全相關,本文不作贅述。

組內新成員必須符合一些條件。其中新成員需要在事務方面趕上組進度(是通過選擇組內乙個成員來將已處理的事務流式傳輸給他,在 mgr 中稱為「捐贈」)。最後,只要在此「分布式恢復」過程中沒有遇到任何錯誤,組內新成員將被宣告為 online 狀態。

mgr 依靠組通訊層 (gcs) 來管理組。該層實現了用於解決衝突事務的一致性演算法,並強制執行一些通訊特性。對於實現前面提到的組的不可分割檢視,這些特性至關重要,如訊息的總順序、安全傳遞或檢視同步等。

gcs 需要能夠檢測組中哪些成員失效或看起來失效。一旦這些成員被檢測為失效,就將其從該組中移除,以便保持該組正常使用。為此 gcs 在每個成員中引入了乙個故障檢測器,用於分析組內交換的訊息。

如果它在一段時間內沒有收到來自指定成員的訊息,則故障檢測器將對該成員產生「懷疑」,並認為該成員可能已經失效。成員從「懷疑」到真正失效的等待時間是可以配置的。

重新加入成員存在的問題

我們已經了解 mgr 必須為了高可用提供的策略,以及它如何實現,接下來請看示例:

乙個小組由三個成員組成,其中乙個成員偶爾會遇到丟失資料報、斷連或者其它導致無法解決的錯誤情況的影響組內通訊。還要考慮這些錯誤持續時間超過 group_replication_member_expel_timeout的值。

其中乙個組員發生故障,小組的其他成員將決定踢出該成員。問題是,一旦該成員重新入組,他將被組驅逐加入失敗,需要通過手動干預。

如果該成員的驅逐超時屬性設定不為 0,則它將在被驅逐前等待滿足該時間量(將超時設定為 0 意味著他將永遠等待)。超時後成員將被驅逐並重新建立連線,並且無法重新加入舊組,需要再次手動干預。

於此,當存在網路故障時,顯然需要手動干預。

在 mysql 8.0.16 中,我們引入了自動重新加入組的功能,一旦成員被驅逐出組,它就會自動嘗試重新加入該組,直到達到預設的次數為止。有時每次重試之間至少等待5分鐘。

如何啟動自動重新加入?

可以通過將group_replication_autorejoin_tries設定為所需的重試次數來開啟並使用自動重新加入功能。

set global group_replication_autorejoin_tries = 3

預設值為 0,表示伺服器禁用自動重新加入。

如何驗證自動重新加入?

與 mysql 中的許多功能一樣,自動重新加入過程是可以監測的。自動重新加入的可檢測性依賴於效能模式基礎架構,階段式收集有關資料。

他們獲取以下資訊:

事件發生的執行緒id(thread_id)

活動名稱(event_name)

起止時間戳以及事件的總持續時間(timer_start,timer_end 和 timer_wait)

在事件停止之前完成的工作單位和預估工作單位(work_***pleted,work_estimated)

因此,當自動重新加入過程開始時,它將在performance schema中註冊乙個名為「stage / grouprpl / undergoing auto-rejoinprocedure」的事件。使用表performance_schema.events_stage_current,  performance_schema.

events_stages_summary_global_by_event_name和performance_schema.events_stages_history_long我們可以觀察到以下內容:

是否正在進行自動重新加入程式

到目前為止,已經減少重試的次數

直到下一次重試的估計剩餘時間

自動重新加入過程狀態

可以通過過濾包含「auto-rejoin」字串的活動事件來查詢自動重新加入過程狀態(即,是否正在進行):

select count(*) from performance_schema.events_stages_current

where event_name like '%auto-rejoin%';

count(*)

1查詢結果存在,證明伺服器上執行了自動重新加入過程。

到目前為止的重試次數

如果正在進行自動重新加入程式,我們可以通過選擇階段事件上的工作單元數來檢查到目前為止嘗試的重試次數:

select work_***pleted from performance_schema.events_stages_current where

event_name like '%auto-rejoin%';

work_***pleted

1在這個例子中,到目前為止只有一次嘗試。

預計到下次重試的剩餘時間

select (300.0 - ((timer_wait*10e-12) - 300.0 * num_retries)) as time_remaining from

(select count(*) - 1 as num_retries from

performance_schema.events_stages_current where event_name like '%auto-rejoin%') as t,

performance_schema.events_stages_current where event_name like '%auto-rejoin%';

time_remaining

30.0

所以在這個例子中,在下一次重新加入之前還有 30 秒。注意效能模式表中的所有時間記帳都以微秒精度保持,因此我們將 timer_wait 縮放為秒。

使用自動重新加入與驅逐超時的權衡

到目前為止,在這篇文章中我們只關注自動重新加入。實際上,有兩種不同的方法可以實現離開組的成員的重新加入:

設定自動重新加入嘗試次數來實現自動重新加入

設定該成員的驅逐超時時間然後配合手動干預

能有延緩刪除組內可疑成員,並且如果配置為足夠長的驅逐超時時間,則增加了重新建立連線的機會,再次與組進行互動。

雖然這兩個功能實現了相同的目標,但它們的工作方式是不同的,並且需要權衡。通過使用驅逐超時,您可以維護組中可疑的成員,其缺點是您無法新增或刪除成員或選擇新的主機。如果通過使用自動重新加入,該成員將不再是該組的正常組員,將保持在 superreadonly 模式,直到重新加入該組。

但在此期間,重新加入成員的同步舊資料的可能性將增加。自動重新加入過程可監控,而驅逐超時不是真正可監控的。

所以,總結一下:

驅逐超時的優點

- 該成員一直在該組內

- 可能更適合足夠小的網路故障

驅逐超時的缺點

- 在懷疑某個成員時,無法在該組上新增/刪除成員

- 在懷疑某個成員時,無法選擇新的主機

- 您無法監控此過程

自動重新加入的優點

- 該組將在沒有重新加入成員的情況下執行,您可以新增/刪除成員並選擇新的主機

- 您可以監控該過程

自動重新加入的缺點

- 您增加了重新加入成員上過時讀取的可能性

- 可能不適合足夠小的網路故障

總而言之,我從啟用自動重新加入中獲得了什麼?

通過啟用自動重新加入,您可以減少對mysql例項的手動干預的需要。您的系統

更加適應瞬間網路故障,同時滿足對容錯性和高可用的保證。

摘要我們引入了乙個名為group_replication_autorejoin_tries的新系統變數,允許使用者設定 mgr 成員在被驅逐或與組的大多數人失去聯絡後嘗試重新加入組的次數。

預設情況下,此自動重新加入過程處於關閉狀態。它能幫助使用者在面對瞬間網路故障時避免對 mgr 成員進行手動干預。

mysql如何獲取當前時間,mysql分別獲取已有資料date中的年月日

date ym time 建議你看下這個 mysql分別獲取已有資料date中的年月日 把要獲取的日期轉成字元型的,然後按位接取就得到了,這是一種方法,也是最省事的方法.mysql select now displaymode,now b union all select second displa...

何為布施,何為功德,何為傳承,何為功德如何布施功德最大

布施分為bai法布施 財布du施 無畏布施。法布施 法是方zhi法,包括世間法與出dao世間法。法布專施的範圍非常廣。別人屬不會的技能或知識自己會的,教會別人也叫法布施。財布施 分外財與內財。身外之物叫外財,衣服 財產 金銀珠寶 動產 不動產皆是外財。內財是我們的身體。無畏布施 畏 是恐怖,身心不安...

如何登入mysql

使用管理員身份進入命令提示符 cmd 進入 mysql home bin 目錄下,mysql home為自己的安裝路徑。2.啟動mysql資料庫 dos命令視窗中輸入 net start mysql 3.登陸資料庫。方式一 host並 user表示執行mysql伺服器的主機名和mysql帳戶的使用者...