|
|
|
| Помогите написать запрос. У меня в таблице содержатся строки типа "10,11,12,12", и нужно вывести только цыфры, которые не повторяются, то есть 10 и 11. | |
|
|
|
|
|
|
|
для: motl
(27.12.2006 в 03:18)
| | Не очень понятно, все цифры хранятся в одном поле текстового типа? | |
|
|
|
|
|
|
|
для: cheops
(27.12.2006 в 03:26)
| | а первое 12 тоже не повторяется, повторяется второе :) | |
|
|
|
|
|
|
|
для: cheops
(27.12.2006 в 03:26)
| | Цифры хранятся в разных полях текстового типа. | |
|
|
|
|
|
|
|
для: motl
(27.12.2006 в 20:56)
| | Тогда не очень понятно, приведите структуру таблицы? Каждое поле хранит только одну цифру? | |
|
|
|
|
|
|
|
для: cheops
(27.12.2006 в 22:24)
| | Каждое поле хранит только одну цифру | |
|
|
|
|
|
|
|
для: motl
(27.12.2006 в 03:18)
| | SELECT [STRAIGHT_JOIN] [DISTINCT | ALL] select_expression,...
[FROM tables... [WHERE where_definition] [GROUP BY column,...]
[ORDER BY column [ASC | DESC], ...] HAVING full_where_definition
[LIMIT [offset,] rows] [PROCEDURE procedure_name]]
[INTO OUTFILE 'file_name'... ] | |
|
|
|
|
|
|
|
для: jbs
(28.12.2006 в 00:02)
| | DISTINCT выведет 10, 11, 12 (один раз), а человеку надо только 10,11
тут без двух запросов не обойтись - сначала выбрать элемент, потом узнать, встречается
ли он еще, если нет - запомнить в массиве или временной таблице, после этого перейти к
следующему... а потом выводить данные из временной таблицы (можно с DISTINCT для
уверенности) | |
|
|
|
|
|
|
|
для: elenaki
(28.12.2006 в 10:18)
| | Вот такой получился код, с использованием функции array_count_values():
<?
$res="SELECT num FROM data";
$result=mysql_query($res);
$res_array = array();
while($row = mysql_fetch_array($result)){
$res_array[]=$row['num'];
}
$ac = array_count_values ($res_array);
while(list($element, $number) = each( $ac)){
if($number==1){
echo $element."<br>";
}}
?>
|
| |
|
|
|