簡體   English   中英

MySQL分組依據不帶列名

[英]MySQL group by without column name

我有一個包含用戶信息的表。

mysql> desc accounts;
+-------------+------------+------+-----+---------+----------------+
| Field       | Type       | Null | Key | Default | Extra          |
+-------------+------------+------+-----+---------+----------------+
| cid         | int(11)    | NO   | PRI | NULL    | auto_increment |
| username    | text       | YES  |     | NULL    |                |
| password    | text       | YES  |     | NULL    |                |
| mysignature | text       | YES  |     | NULL    |                |
| is_admin    | varchar(5) | YES  |     | NULL    |                |
+-------------+------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)

普通的group by語句始終跟隨一個或多個列名,如下所示:

select * from accounts group by cid;

只是一個示例,通常group by使用諸如sum()類的Aggregate函數。

我發現一些不符合我無法理解的列名的表達式:

mysql> select username from accounts group by now();
+----------+
| username |
+----------+
| admin    |
+----------+
1 row in set (0.00 sec)

我是MySQL的新手。 該查詢如何工作? 謝謝。

實際上是表達。 它比較表達式結果而不是分組的列值。

now()與group by的功能不是很有效。

它將始終從所選數據中返回第一行。

您始終需要在查詢的group by子句中指定列名。 這是分組依據的教程的鏈接 它指定可以與group by一起使用的聚合函數。

now()與group by return一起,它將從查詢中選擇數據並與第一行匹配,並且它將是第一行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM