找到关于数据库的6705篇文章

如何将MySQL返回的结果集分成几组?

Sai Nath
更新于 2020年6月20日 06:36:49

893 次浏览

这可以通过在SELECT语句中使用GROUP BY子句来实现。我们可以使用GROUP BY子句指定列作为分组标准。由于指定的分组标准,特定列中值相同的行被视为单个组。这样,MySQL SELECT语句返回的结果集将被分成几组。示例以下是一个很好的示例,可以帮助理解它 - 我们有一个名为“employees”的表,如下所示 - mysql> Select * from employees; +------+-------------+--------+------------+ | id   | designation | Salary | DoJ        | +------+-------------+--------+------------+ ... 阅读更多

如何对MySQL返回的结果集的组级别应用过滤条件?

Arjun Thakur
更新于 2020年6月20日 06:39:36

92 次浏览

众所周知,SELECT语句中的GROUP BY子句可以将MySQL返回的结果集分成几组。现在,如果我们只想返回某些特定组,则需要在组级别应用过滤条件。这可以通过在GROUP BY子句内使用HAVING子句来实现。下面的示例将演示它 - 示例假设我们只想返回平均工资为55000的组,那么我们需要在HAVING子句中使用如下过滤条件 - mysql> Select count(*), AVG(salary), Designation from employees GROUP BY designation having AVG(salary) ... 阅读更多

如何使用组函数COUNT(*)和GROUP BY子句了解列中值的重复?

Ankith Reddy
更新于 2020年1月30日 05:48:55

106 次浏览

我们可以使用COUNT(*)和GROUP BY子句来找出列中值的重复。以下是在“Student”表的“Name”列上使用COUNT(*)和GROUP BY子句的示例,以演示它 - mysql> select count(*), name from student group by name; +----------+---------+ | count(*) | name    | +----------+---------+ | 1        | Aarav   | | 2        | Gaurav  | | 1        | Harshit | +----------+---------+ 3 rows in set (0.00 sec)以上查询的结果集显示了哪些值重复... 阅读更多

为什么我们不应该在MySQL SELECT查询中不使用GROUP BY子句的情况下将分组函数与非分组字段一起使用?

karthikeya Boyini
更新于 2020年1月30日 05:50:13

186 次浏览

这是因为如果没有GROUP BY子句,MySQL返回的输出可能会产生误导。我们将在下面给出的“Student”表上给出以下示例,以演示它 - mysql> Select * from Student; +------+---------+---------+-----------+ | Id   | Name    | Address | Subject   | +------+---------+---------+-----------+ | 1    | Gaurav  | Delhi   | Computers | | 2    | Aarav   | Mumbai  | History   | | 15   | Harshit | Delhi   | Commerce  | | 20   | Gaurav  | Jaipur  | Computers | +------+---------+---------+-----------+ 4 rows in set (0.00 sec) mysql> ... 阅读更多

在UNIX_TIMESTAMP()或FROM_UNIXTIME()函数中传递超出范围的值时,MySQL将返回什么?

varun
更新于 2020年6月20日 06:35:01

309 次浏览

当我们在UNIX_TIMESTAMP中传递超出范围的值时,MySQL返回0。有效值范围与TIMESTAMP数据类型的范围相同。示例mysql> Select UNIX_TIMESTAMP('1969-01-01 04:05:45'); +---------------------------------------+ | UNIX_TIMESTAMP('1969-01-01 04:05:45') | +---------------------------------------+ |                         0             | +---------------------------------------+ 1 row in set (0.00 sec)当我们在FROM_UNIXTIME中传递超出范围的值时,MySQL返回NULL。有效值范围与INTEGER数据类型的范围相同。示例mysql> Select FROM_UNIXTIME(2147483648); +---------------------------+ | FROM_UNIXTIME(2147483648) | +---------------------------+ | NULL                      | +---------------------------+ 1 row in set (0.00 sec)

以MySQL TIMESTAMP格式检索存储在INT列中的值的正确方法是什么?

Srinivas Gorla
更新于 2020年1月30日 05:53:44

164 次浏览

我们可以使用FROM_UNIXTIME()函数来检索以MySQL TIMESTAMP格式存储在表列中INT中的值。例如,我们有一个名为“test123”的表,它有一个名为“val1”的列。在此列中,我们存储整数如下 - mysql> Select * from test123; +------------+ | val1       | +------------+ |     150862 | | 1508622563 | |  622556879 | | 2147483647 | +------------+ 4 rows in set (0.00 sec)现在,借助FROM_UNIXTIME()函数,我们可以以MySQL TIMESTAMP数据的形式检索列整数的值。mysql> Select ... 阅读更多

在将时间戳值转换为整数时,在时间戳值中添加微秒,MySQL将返回什么?

seetha
更新于 2020年6月20日 06:34:20

80 次浏览

众所周知,可以使用UNIX_TIMESTAMP()函数将时间戳值转换为秒数。MySQL将忽略添加到时间戳值中的微秒,因为UNIX_TIMESTAMP的值只有10位长。示例mysql> SELECT UNIX_TIMESTAMP('2017-10-22 04:05:36')AS 'Total Number of Seconds'; +-------------------------+ | Total Number of Seconds | +-------------------------+ | 1508625336              | +-------------------------+ 1 row in set (0.00 sec) mysql> SELECT UNIX_TIMESTAMP('2017-10-22 04:05:36.200000')AS 'Total Number of Seconds'; +-------------------------+ | Total Number of Seconds | +-------------------------+ | 1508625336              | +-------------------------+ ... 阅读更多

在MySQL中,如何将时间值表示为整数?

Abhinanda Shri
更新于 2020年1月30日 05:27:51

731 次浏览

在MySQL中,UNIX时间戳格式是将时间值表示为整数的方法。日期值的整数表示将是秒数。“1970-01-01”是计算这些秒数的起始日期。mysql> SELECT UNIX_TIMESTAMP('2017-10-22 04:05:36')AS 'Total Number of Seconds'; +-------------------------+ | Total Number of Seconds | +-------------------------+ |              1508625336 | +-------------------------+ 1 row in set (0.00 sec)UNIX_TIMESTAMP值是10位长。

如何在MySQL SELECT查询中将分组函数与非分组字段一起使用?

Swarali Sree
更新于 2020年6月20日 06:33:44

160 次浏览

如果要在SELECT查询中将分组函数与非分组字段一起使用,则必须使用GROUP BY子句。一般语法如下语法SELECT group_function1,…,non-group-column1,… from table_name GROUP BY column_name;示例mysql> Select COUNT(*),id from Student GROUP BY id; +----------+------+ | COUNT(*) | id   | +----------+------+ | 1        | 1    | | 1        | 2    | | 1        | 15   | | 1        | 17   | | 1        | 20   | +----------+------+ 5 ... 阅读更多

UNIX时间戳和MySQL时间戳之间有什么区别?

vanithasree
更新于 2020年6月20日 06:29:55

1K+ 次浏览

在MySQL中,UNIX时间戳存储为32位整数。另一方面,MySQL时间戳也以类似的方式存储,但以可读的YYYY-MM-DD HH:MM:SS格式表示。例如:
mysql> Select UNIX_TIMESTAMP('2017-09-25 02:05:45') AS 'UNIXTIMESTAMP VALUE';
+---------------------+
| UNIXTIMESTAMP VALUE |
+---------------------+
| 1506285345          |
+---------------------+
1 row in set (0.00 sec)
上面的查询显示UNIX时间戳值存储为32位整数,其范围与MySQL INTEGER数据类型的范围相同。
mysql> Select FROM_UNIXTIME(1506283345) AS 'MySQLTIMESTAMP VALUE';
+----------------------+
| MySQLTIMESTAMP VALUE |
+----------------------+
| 2017-09-25 01:32:25  |
+----------------------+
1 row in set (0.00 sec)
查询... 阅读更多

广告