主页
Top.Mail.Ru Yandeks.Metrika
论坛:“基地”;
当前存档:2002.07.25;
下载:[xml.tar.bz2];

向下

经典情况 找到类似的分支


Grrey   (2002-07-02 18:46) [0]

有一张桌子:
Table1 (ID, Field1, Field2)

Нужно получить количество строк с одинаковым Field1 и разными Field2.
我这样做:
SELECT COUNT(A.ID) FROM TABLE1 A, TABLE1 B
在WHERE
(A.ID<>B.ID) AND
(A.FIELD1=B.FIELD1) AND
(A.FIELD1<>B.FIELD2)



Val   (2002-07-02 18:59) [1]

поздравляю :)
только нет вопроса и неясно условие: что выводить, если у нас, допустим, пять строчек удовлетворяет условию, но поле1 имеет одно значение, и еще семь строчек, тоже удовлетворяющих, но значение поля1 другое?



Grrey   (2002-07-02 19:26) [2]

Если поле1 разное, то его уже не считать, а если одинаковое, то в зависимости от поля2 если поле2 одинаковое, то несчитать и наоборот.



Lola   (2002-07-02 19:40) [3]

Что-то непонятно, "Если поле1 разное, то...". А с чем оно "разное"? Само с собой? Уточни, с чем сравниваешь. Такие вопросы на ночь глядя... :))



Grrey   (2002-07-02 19:45) [4]

Да с собой!
Здесь только одна таблица!



Lola   (2002-07-02 22:46) [5]

А зачем? :( Если оно всегда будет равно само себе ? Да и ID зачем сравнивать?



Shaman   (2002-07-03 03:07) [6]

SELECT Field1, COUNT(ID) FROM Table1
GROUP BY Field1



DarkGreen   (2002-07-03 06:12) [7]

2 Shaman
Наверное следует добавить

HAVING Field1 <> Field2?



Val   (2002-07-03 10:19) [8]

>Grrey (02.07.02 19:45)
мда.. повторяю еще раз - уточните условие, что вы хотите получить, если данные имеют вид:
ID, Field1, Field2
1 1 2
2 1 3
3 2 5
4 2 6
5 2 2



Grrey   (2002-07-03 10:34) [9]

to Val> Результат запроса должен быть - 2, т.к. в первых 2-ух строчках Поле1 имеет одно значение, а ID и Поле2 - разные значит его надо считать, в остальных строках тоже Поле1 - одинаковое, а остальные - разные следовательно еще одно поле1 мы считаем.
Если окажется, что Поле1 встречается только с одним и темже Полем2, то его считать не следует
Поле1 и Поле2 разные типы данных и их сравнивать не имеет смысла.
to Lola> Для того и ID, чтоб с собой не сравнивала!



Grrey   (2002-07-03 10:40) [10]

Дошло!
Вот готовый запрос если кому интересно:
SELECT distinct(Field1), count(dISTINCT(Field2)) from Table1
由Field1分组
having count(Field2)>1

только надо сумму по второму полю, но это дело техники



Страницы: 1 整个分支

论坛:“基地”;
当前存档:2002.07.25;
下载:[xml.tar.bz2];

楼上









内存:0.58 MB
时间:0.053 c
3-81148
Spinx
2002-07-04 02:10
2002.07.25
FIBPlus 4.6限制?


1-81346
AlekseyK
2002-07-13 11:18
2002.07.25
如何找出按下哪个组合框按钮?


3-81136
nitro313
2002-07-03 14:52
2002.07.25
人们,请告诉我:如何动态创建别名?


3-81163
域名
2002-07-04 10:02
2002.07.25
IB5。 BLOB过滤器


1-81231
Yurko
2002-07-10 04:03
2002.07.25
任务栏





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский