将MySQL结果限制为许多组中的第一个

时间:2013-03-18 02:54:27

标签: mysql sql

我正在运行像

这样的查询
("SELECT size FROM block WHERE block_model = '".$_SESSION['block']."'")

这给了我一系列结果,比如

  大大中大中小中小小

有没有什么方法可以将每个'set'限制为只有它的第一个结果,所以除了编辑我的数据库结构之外我最终只有1个大,1个中等,1个小?

2 个答案:

答案 0 :(得分:3)

查看MySQL中的DISTINCT关键字。

"SELECT DISTINCT size
 FROM block
 WHERE block_model = '" . $_SESSION['block'] . "'"

根据您的MySQL版本以及表格的设置方式,您还可以使用GROUP BY子句获得更好的性能。

 "SELECT size
  FROM block
  WHERE block_model = '" . $_SESSION['block'] . "'
  GROUP BY size"

答案 1 :(得分:2)

尝试添加只获取唯一记录的DISTINCT

$sessionVal = $_SESSION['block'];
$query = "SELECT DISTINCT size FROM block WHERE block_model = '$sessionVal'";