2016-03-28 20 views
1
SELECT * 
FROM `fc_product` AS a, 
(SELECT MIN(`views`) AS mini, MAX(`views`) AS maxi 
FROM `fc_product`) AS m 
WHERE a.views > 0 

Bu sorguyu yazdım. Ben bu açıklamayı yazarken bu sorguda bir hata varMYSQL Hata Hatası

"(SELECT MIN(`views`) AS mini, MAX(`views`) AS maxi FROM `fc_product`) " 
+0

Ve hata mesajı nedir? –

+0

iki ayrı sütunu tek bir sütuna dönüştürebilirsiniz. ya da bir toplama işlevini kullanmanız gerekiyorsa bu –

+0

Sorunuzda bir hata yok: http://sqlfiddle.com/#!9/50e70/1 - İhtiyacınız olanı varsa başka bir soru –

cevap

0

Sorgunuzda Aslında doğru sözdizimi olarak başına aşağıda-

SELECT *, 
(SELECT MIN(`views`) AS mini, MAX(`views`) AS maxi 
FROM `fc_product`) AS m 
FROM `fc_product` AS a 
WHERE a.views > 0 

olacak Ama aynı sonuçlarla gerek basit sorgusu altında kullanabilirsiniz alt sorgunun burada-

SELECT a.*, MIN(`views`) AS mini, MAX(`views`) AS maxi 
FROM `fc_product` AS a 
WHERE a.views > 0 

Not: Her iki sorgu tek satır sonucu üretecektir Üstü Eğer dk gerekirse, bazı alana bağlı maksimum değerinden o alanda tarafından grubunu kullanmak gerekir.

1

Umut Bu Yardım Bence onun değil benim kod bir alt sorguda burada içinde iki sütun sonucu olması izin veriliyor

SELECT a.*, 
(SELECT MIN(views) FROM fc_product) as mini, 
(SELECT MAX(views) FROM fc_product) as maxi 
FROM fc_product a WHERE a.views>0 

veya bu deneyin:

select * from 
(select * from fc_product WHERE views>0) t1, 
(SELECT MIN(views) as mini,MAX(views) as maxi FROM fc_product) t2