php - 7 个 SQL 行的第一个 start_time 和最后一个 end_time 只显示 1 个 SQL 结果

标签 php mysql

我正在制作时间表提交/批准功能,目前正在处理 pending.php 页面,经理/管理员可以转到 pending.php 并查看待审核的时间表...

我现在的代码是:

list($qh,$num) = dbQuery(
"SELECT start_time, end_time, uid, submitid, submitstatus, submitdate, submitapprover 
FROM $TIMES_TABLE 
WHERE submitstatus=1 
ORDER BY submitid");

现在它显示该周的所有时间表条目: example

我真正需要的是每周提交一行。基本上,捕获第一个 start_time 和最后一个 end_time 并将它们放在一起(开始 - 结束) (start_time - end_time | username | id | submitdate | submit status..etc)

有人告诉我使用 group_catcon 或其他东西,但我不熟悉。

根据我的照片,我想要这样的东西:

2012-12-30 - 2013-01-05 | admin | submitid#### | submitdate | status | approver
2013-01-06 - 2013-01-09 | admin | submitid#### | submitdate | status | approver

我是 php/mysql 的新手,所以我很抱歉

最佳答案

您可能会发现所有这些列都超出了您的预期。例如,有各种审批人。为此,您可能希望从查询中删除一些内容。

select 
  concat(min(start_time), ' - ', max(end_time)), 
  uid, 
  submitid, 
  submitstatus, 
  submitdate, 
  submitapprover
FROM 
  $TIMES_TABLE
WHERE 
  submitstatus=1 
GROUP BY
  uid, 
  submitid, 
  submitstatus, 
  submitdate, 
  submitapprover
ORDER BY 
  submitid

关于php - 7 个 SQL 行的第一个 start_time 和最后一个 end_time 只显示 1 个 SQL 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14326909/

相关文章:

mysql - DBMS 似乎在事务中提交(新手问题)

php - PHP 中的 MySQL 访问被拒绝,CLI 将连接

mysql - SQL "GROUP BY"和 "INNER JOIN"语句一起

MySQL 事件变量 - 将值复制到另一个表

php - 如果数组列表对象的日期(属性)相对于任何其他对象日期在 15 天内,则删除该对象

php - 下载图像并通过 PHP 压缩它们

javascript - PHP 中的 jQuery/JavaScript 输出

mysql - 连接多个 SQL 表

php - 数据库拓扑设计困惑

php - 我在哪里可以找到我的 yii 应用程序的 yii 版本?