Bu üç farklı veritabanı sunucusunda herhangi bir değişiklik yapmadan MySQL, MSSQL, PostgreSQL gibi bir Sorguya ihtiyacım var.Birkaç alanın DISTINCT sayımı sadece MySQL'de çalışır mı?
field_char = character
field_int = integer
field_date = datetime
ifadesi içinde olan: farklı tipte ayrıdır
COUNT(DISTINCT field_char,field_int,field_date) AS costumernum
alanları Bu sorgu i MySQL düzgün çalışması, aşağıdaki ifade ile bir sütun hesaplamak gerekir üst sorgusu seçmek, bu yüzden bir alt sorgu yaklaşımla sonucu elde etmek çalışırsanız, ben bu durumda takılmaları: Bu quer ile bir hata alıyorum
SELECT t0.description,t0.depnum
(select count(*) from (
select distinct f1, f2, f3 from salestable t1
where t1.depnum = t0.depnum
) a) AS numitems
FROM salestable t0
y, ana sorgunun değerini nasıl alabilirim?
İfade, MySQL üzerinde düzgün çalışıyor ancak Sql Server veya PostgreSQL üzerinde çalıştırmayı denediğimde bir hata alıyorum (sorun, sayı işlevinin MSSQL/PostgreSQL'de farklı türden 3 bağımsız değişken kabul etmemesidir), Bu veritabanı sunucusunun (SQL Server, MySQL, PostgreSQL) her birinde çalışan bir ifadeyle aynı sonucu elde etmenin bir yolu var mı?
select count(*) from (
select distinct f1, f2, f3 from table
) a
yeni bilgi için Düzen:
Ne (borç dahil) ayrı listeye katılmadan çalışırsanız ve aşağıdaki gibi
Bu yaklaşımla daha önce denedim, tek sorun, alt sorguyu ana sorgudan almam gereken bir değerle filtrelemem gerektiğidir, bu iletiye bakın: http://stackoverflow.com/questions/ 7088107/nasıl yapılır-iç içe-alt sorgulama-tanıma-üst-sorgulama-sütun – aleroot
Görüyorum, ek gereksinimleri gidermek için yayınladı. –
Çalıştığını görünce, ama MySQL üzerinde son derece yavaş, neden bilmiyorum, diğer veritabanı sunucusunda oldukça hızlı çalışıyor ... Bir çözüm biliyor musunuz? – aleroot