草庐IT

mooncatventures-group

全部标签

sql - 我可以将非聚合列与 group by 一起使用吗?

您不能(不应该)将非聚合放在GROUPBY查询的SELECT行中。不过,我想访问与最大值关联的非聚合之一。用简单的英语来说,我想要一张表,其中包含每种类型中最旧的ID。CREATETABLEstuff(idint,kindint,ageint);这个查询给了我想要的信息:SELECTkind,MAX(age)FROMstuffGROUPBYkind;但它并不是最有用的形式。我真的想要id与每一行相关联,以便我可以在以后的查询中使用它。我正在寻找这样的东西:SELECTid,kind,MAX(age)FROMstuffGROUPBYkind;输出这个:SELECTstuff.*FROMs

mysql - 从 GROUP BY 中获取具有最高或最低值的行

在执行GROUPBY之后,我正在尝试获取具有最高/最低数字的行:这是我的测试数据mysql>SELECT*FROMtest;+----+-------+------+|id|value|name|+----+-------+------+|1|10|row1||2|12|row2||3|10|row2||4|5|row2|+----+-------+------+4rowsinset(0.00sec)为了得到最小值,我将使用MIN()mysql>SELECTid,name,MIN(value)ASvalueFROMtestGROUPBYname;+----+------+-------

mysql - 从 GROUP BY 中获取具有最高或最低值的行

在执行GROUPBY之后,我正在尝试获取具有最高/最低数字的行:这是我的测试数据mysql>SELECT*FROMtest;+----+-------+------+|id|value|name|+----+-------+------+|1|10|row1||2|12|row2||3|10|row2||4|5|row2|+----+-------+------+4rowsinset(0.00sec)为了得到最小值,我将使用MIN()mysql>SELECTid,name,MIN(value)ASvalueFROMtestGROUPBYname;+----+------+-------

php mysql Group By获取最新记录,而不是第一个记录

table:(`post_id`,`forum_id`,`topic_id`,`post_time`)(79,8,4,'2012-11-1906:58:08');(80,3,3,'2012-11-1906:58:42'),(81,9,9,'2012-11-1906:59:04'),(82,11,6,'2012-11-1916:05:39'),(83,9,9,'2012-11-1916:07:46'),(84,9,11,'2012-11-1916:09:33'),查询:SELECTpost_id,forum_id,topic_idFROMpostsGROUPBYtopic_idORDER

php mysql Group By获取最新记录,而不是第一个记录

table:(`post_id`,`forum_id`,`topic_id`,`post_time`)(79,8,4,'2012-11-1906:58:08');(80,3,3,'2012-11-1906:58:42'),(81,9,9,'2012-11-1906:59:04'),(82,11,6,'2012-11-1916:05:39'),(83,9,9,'2012-11-1916:07:46'),(84,9,11,'2012-11-1916:09:33'),查询:SELECTpost_id,forum_id,topic_idFROMpostsGROUPBYtopic_idORDER

mysql - 在 MySQL 中使用 GROUP BY 选择最近的行

我正在尝试选择每个用户及其最近的付款。我现在的查询选择用户首次付款。IE。如果用户进行了两次付款并且payment.id为10和11,则查询会选择付款ID为10而不是11的信息的用户。SELECTusers.*,payments.method,payments.idASpayment_idFROM`users`LEFTJOIN`payments`ONusers.id=payments.user_idGROUPBYusers.id我已经添加了ORDERBYpayments.id,但是查询似乎忽略了它并且仍然选择了第一笔付款。感谢所有帮助。谢谢。 最佳答案

mysql - 在 MySQL 中使用 GROUP BY 选择最近的行

我正在尝试选择每个用户及其最近的付款。我现在的查询选择用户首次付款。IE。如果用户进行了两次付款并且payment.id为10和11,则查询会选择付款ID为10而不是11的信息的用户。SELECTusers.*,payments.method,payments.idASpayment_idFROM`users`LEFTJOIN`payments`ONusers.id=payments.user_idGROUPBYusers.id我已经添加了ORDERBYpayments.id,但是查询似乎忽略了它并且仍然选择了第一笔付款。感谢所有帮助。谢谢。 最佳答案

sql - 使用 SQL MIN() 和 GROUP BY 的额外字段

当使用SQLMIN()函数以及GROUPBY时,任何其他列(不是MIN列或GROUPBY列之一)是否与匹配的MIN行中的数据匹配?例如,给定一个包含部门名称、员工姓名和薪水的表:SELECTMIN(e.salary),e.*FROMemployeeeGROUPBYdepartment显然,我会得到两个很好的列,最低工资和部门。员工姓名(以及任何其他员工字段)是否来自同一行?即带有MIN(薪水)的行?我知道很可能有两名员工的薪水相同(且最低),但我(现在)所关心的只是获取有关(或一个)的所有信息最便宜的员工。这会选择最便宜的销售员吗?SELECTmin(salary),e.*FROMem

sql - 使用 SQL MIN() 和 GROUP BY 的额外字段

当使用SQLMIN()函数以及GROUPBY时,任何其他列(不是MIN列或GROUPBY列之一)是否与匹配的MIN行中的数据匹配?例如,给定一个包含部门名称、员工姓名和薪水的表:SELECTMIN(e.salary),e.*FROMemployeeeGROUPBYdepartment显然,我会得到两个很好的列,最低工资和部门。员工姓名(以及任何其他员工字段)是否来自同一行?即带有MIN(薪水)的行?我知道很可能有两名员工的薪水相同(且最低),但我(现在)所关心的只是获取有关(或一个)的所有信息最便宜的员工。这会选择最便宜的销售员吗?SELECTmin(salary),e.*FROMem

sql - 如何使用 group_concat 引用值

我需要使用group_concat来构建逗号分隔值的列表,但我需要引用这些值。我该怎么做?这个:425,254,431,53,513,13,1,13应转换为:'425','254','431','53','513','13','1','13' 最佳答案 用途:GROUP_CONCAT(CONCAT('''',your_column,'''')) 关于sql-如何使用group_concat引用值,我们在StackOverflow上找到一个类似的问题: http