2015-06-23 4 views
0

У меня есть таблица, которая содержит два столбца: col1 | col2. Я хочу, чтобы выбрать, где col2 оппозиция пуста и col1 и только один ряд повторяющихся строкКак реализовать группу через различные

Мой thable:

// tablename [col1=integer | col2=varchar] 
+-------+-------------+ 
| col1 | col2  | 
+-------+-------------+ 
| 1 | anything1 | 
| 2 |    | 
| 3 | anything3 | 
| 3 | anything3 | 
| 4 | anything4 | 
| 5 | anything5 | 
| 5 | anything5 | 
| 6 |    | 
| 7 | anything7 | 
+-------+-------------+ 

Я хочу, чтобы этот вывод:

// newtablename 
+-------+-------------+ 
| col1 | col2  | 
+-------+-------------+ 
| 1 | anything1 | 
| 3 | anything3 | 
| 4 | anything4 | 
| 5 | anything5 | 
| 7 | anything7 | 
+-------+-------------+ 

Мои запрос:

select * from tablename where col2 <>'' group by col1 

Теперь я хочу знать, как я могу реализовать выше запрос через distinct(вместо group by)?

ответ

0

ли вы имеете в виду:

select distinct col1,col2 
from tablename 
where col2 <>'' 
order by col1 
+0

ли col2 обнуляемым? Исходя из вашего исходного вопроса – Drew

+0

, почему вы используете 'col2' в' distinct'? – Shafizadeh

+0

Можете ли вы показать мне это как подзапрос? На самом деле я хочу «select where col2 <> '' как t1', затем' select from t1, где different col1' – Shafizadeh