草庐IT

分组传送网

全部标签

php - 按 id 对结果进行分组的 MySQL SELECT 语句?

我正在尝试创建一个MySQLSELECT语句,该语句将从表中选择一堆行并将结果按行的ID分组(多行将具有相同的ID)。这是我尝试做的一个例子。假设我有下表:id|name1|Art1|Arnold1|Anatoly2|Beatrice2|Bertha2|Betty3|Constantine3|Cramer我想让MySQL像这样返回按id分组的数据:[1]=>Art,Arnold,Anatoly[2]=>Beatrice,Bertha,Betty[3]=>Constantine,Cramer我知道我可以做一个简单的SQL选择,然后在PHP中循环遍历结果,但如果可能的话,我想让MySQL处

sql - 如何按指定周末结束的一周分组?

我需要运行按周分组的报告。这可以通过使用groupbyweek(date)来完成,但客户想要设置标志着一周结束的星期几。所以它可以是星期二、星期三等。我如何通过查询将其分组?日期时间列类型为unix时间戳。 最佳答案 WEEK()函数采用可选的第二个参数来指定一周​​的开始:Thisfunctionreturnstheweeknumberfordate.Thetwo-argumentformofWEEK()enablesyoutospecifywhethertheweekstartsonSundayorMondayandwhethe

mysql - 对有序表进行分组会始终返回第一行吗?数据库

我正在编写一个查询,我在其中对选定的行进行分组以查找其中一列的MIN值。我还想返回与返回的MIN行关联的其他列值。例如IDQTYPRODUCTTYPE--------------------12OrangeFruit24BananaFruit33AppleFruit如果我按“TYPE”列对这个表进行分组并选择MIN数量,它不会返回MIN行的相应产品,在上面的例子中是“Apple”。在分组之前添加一个ORDERBY子句似乎可以解决问题。然而,在我继续将这个查询包含在我的应用程序之前,我只想知道这个方法是否总是会返回正确的值。这是正确的方法吗?我看过一些使用子查询的例子,但我也读到过这种效

MySQL - 按多个条件分组

我试图将某些信息组合在一起,但类型A和类型B数据看起来的方式非常不同。我想弄清楚的是如何在groupby语句中创建条件。即分组依据click.employee_id,click.mode,asset.location,click.paper_size,asset.name或click.mode,asset.location,click.paper_size,asset.name有click.employee_id>=10000000如果employee_id大于100000,它应该只按第二个条件分组,而不是考虑click.employee_id。提前致谢 最

php array - 为每个唯一的电子邮件地址发送一封电子邮件,将数据分组在一起

我在数组中有无限数量的项目:$query=mysql_query("SELECT*FROMordersWHEREorderID='$orderID'");while($row=mysql_fetch_array($query)){$items[]=$row[itemnumber];$quantity[]=$row[quantity];$vendoremail[]=$row[vendoremail];}数组中的值可能是这样的:$items=("A","B","C");$quantity=("2","1","3");$vendoremail=("name1@email.com","name

mysql - 如何只计算前 5 个项目,然后将剩余的项目分组到 'other' bin 下?

我有一张这样的table;+----+---------+-------------+|id|user_id|screenWidth|+----+---------+-------------+|1|1|1366||2|1|1366||3|1|1366||4|1|1366||5|2|1920||6|2|1920||7|3|1920||8|4|1280||9|5|1280||10|6|1280||11|7|1890||...|...|...||...|...|...||...|...|...||100|6|1910|+----+---------+-------------+有很多scr

mysql - 按时间戳之间的间隔对时间戳进行分组,然后从 MySQL 组计算

为了将这个问题放在上下文中,我试图根据事件日志计算“应用程序时间”。假设下表:user_idevent_time22012-05-0907:03:3832012-05-0907:03:4242012-05-0907:03:4322012-05-0907:03:4422012-05-0907:03:4542012-05-0907:03:5222012-05-0907:06:30我想从彼此相差2分钟以内(并按用户分组)的一组时间戳中获取最高和最低event_time之间的差异。如果时间戳超出集合的2分钟间隔,则应将其视为另一集合的一部分。期望的输出:user_idseconds_inter

mysql - 复杂的sql分组排序

我在对日常时间记录中的数据进行分组和排序时遇到问题自动生成报告。DTR的表结构如下:LogDateLogTimeEmployeeNameLogType2012-09-1410:48:04SALITA,LYNYRDANTONIOLOGOUT2012-09-1409:39:29SALITA,LYNYRDANTONIOLOGOUT2012-09-1409:39:19SALITA,LYNYRDANTONIOLOGIN2012-09-1409:35:25SALITA,LYNYRDANTONIOLOGOUT2012-09-1409:35:13SALITA,LYNYRDANTONIOLOGIN201

MySQL 按连续行分组

我有一个Feed应用程序,我试图对连续的结果进行分组。我的表看起来像这样:postid|posttype|target|action|date|title|content1|userid|NULL|upgrade|0000-01-0000:00:00|Upgraded1|exmple1|userid|NULL|upgrade|0000-01-0000:00:01|Upgraded2|exmple1|userid|NULL|downgrade|0000-01-0000:00:02|Downgraded|exmple1|userid|NULL|upgrade|0000-01-0000:00

mysql - 分组依据并选择第一个不是 "empty"字段

在非规范化表结构中,我需要为每个邮政编码选择第一个非空(长度!=0且非空)列。表格布局(两列都是文本):|ZIP|Contact|...|69123|||69123|WS||54516|null||54516|CS||72226|RH||72226|PH|结果应该是这样的:|ZIP|Contact|...|69123|WS||54516|CS||72226|RH|像这样:SELECTZIP,fristNotEmpty(Contact)FROMmasterdataGROUPBYZIP 最佳答案 SELECTZIP,min(Contac