我有一个搜索表单(正在运行MySQL 5.0.88
)来深入了解产品表。搜索是两步搜索。第一次运行得到number of results
,第二次运行得到data of records x-y
。
默认情况下,我在所有记录中显示最小/最大价格,现在想要根据查询结果更新最小/最大值。我在想最好的方法是在初始查询中,获取记录数。
目前它看起来像这样:
SELECT COUNT( a.id ) AS recordcount
, a.nos
, a.nos_anzeige
FROM artikelstammdaten a
WHERE
a.iln != "1111111111111" AND a.iln != "2222222222222" AND a.iln != "7777777777777"
AND a.aktiv = "ja"
AND a.artikelnummer LIKE '%name%'
AND (a.modus = "OPEN"
OR a.iln IN ( 55555555555,66666666666,2222222222222 )
)
GROUP BY a.iln, a.artikelnummer, a.preis_aktuell, a.artikelbezeichnung
HAVING (( sum(a.bestand) != 0 ) OR (a.nos = "ja" AND a.anzeige = "ja" ))
这给了我所有匹配的记录。
问题:
实际上我只想要一条记录中的记录数(~ query.recordcount
),而不是一条一条的记录(我的尝试COUNT
不起作用)。像这样的东西:
totalrecords min-price max-price
12345 9.99 1.204
我可以尝试在结果集中选择最小/最大值。
问题:
我如何修改我的查询,所以我只得到总记录(并且可以尝试添加最小/最大值)?
谢谢!
** 编辑:**
我的表格如下所示:
CREATE TABLE dummy (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`iln` VARCHAR(13) NULL DEFAULT NULL,
`ean` VARCHAR(35) NULL DEFAULT NULL,
`artikelnummer` VARCHAR(35) NULL DEFAULT NULL,
`preis_ek` DECIMAL(12,2) NULL DEFAULT NULL,
`preis_vk` DECIMAL(12,2) NULL DEFAULT NULL,
`firma` VARCHAR(35) NULL DEFAULT NULL,
`nos` VARCHAR(4) NULL DEFAULT NULL,
`nos_anzeige` VARCHAR(4) NULL DEFAULT NULL,
`aktiv` VARCHAR(4) NULL DEFAULT NULL,
`modus` VARCHAR(4) NULL DEFAULT NULL,
`bestand` DECIMAL(10,0) NULL DEFAULT '0'
)
preis_ek
价格将是preis_vk
我正在寻找每个的最小/最大值的位置。谢谢!
编辑:像这样运行查询会给我一个这样的结果集:
"id" "nos" "nos_anzeige" "MIN(a.preis_ek)"
"1153837" "nein" "nein" "25,10"
"1153797" "nein" "nein" "12,40"
....
min
如果我没记错的话,它会选择不在结果集中的每条记录