繁体   English   中英

从重复值列中仅选择一行

[英]Selecting only one row from duplicated values column

[ title   -    date  ]
[  PHP    -  10/10/10]
[  PHP    -  10/10/11]
[  PDO    -  10/10/12]
[  ASP    -  10/10/13]
[  ASP    -  10/10/16]
[  PHP    -  10/10/18]

当我使用此查询时从此表

$query = "SELECT DISTINCT title, date FROM posts WHERE title = :title ORDER BY title, date";

Prepare
Execute
while($row = $stmt->fetch()) {
  $title = $row['title'];
  $date = $row['date'];

  echo "<div>$title</div><div>$date</div>";
 }

我仍然会获得所有值,不仅是标题为PHP的一个值,我只想选择日期最高的值

我希望它成为

<div>ASP</div><div>10/10/16</div>
<div>PDO</div><div>10/10/12</div>
<div>PHP</div><div>10/10/18</div>

看起来像一个简单的聚合:

SELECT title, MAX(date) 
FROM posts 
GROUP BY title
ORDER BY title

如果只需要一行,请使用limit 1

SELECT title, date
FROM posts
WHERE title = :title
ORDER BY date DESC
LIMIT 1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM