MySQL 5.0.88
製品テーブルをドリルダウンするための検索フォーム (実行中) があります。検索は2段階検索です。最初の実行は を取得しnumber of results
、2 回目の実行は を取得し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
私が間違っていなければ、結果セット全体ではなくレコードごとに選択します