0

我正在运行一个查询

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

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

大 大 大 中 中 中 小 小 小

有什么方法可以将每个“集合”限制为仅其第一个结果,这样除了编辑我的数据库结构之外,我最终只会得到 1 个大、1 个中、1 个小?

4

2 回答 2

2

看一下DISTINCTMySQL 中的关键字。

"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"
于 2013-03-18T02:55:58.750 回答
1

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

$sessionVal = $_SESSION['block'];
$query = "SELECT DISTINCT size FROM block WHERE block_model = '$sessionVal'";
于 2013-03-18T02:55:54.257 回答