mysql db값에서 원하는 값 불러오기 질문입니다. 정보
mysql db값에서 원하는 값 불러오기 질문입니다.본문
필드가 아래와 같을 때
st_id st_name st_1 st_2
1 A 22 34
2 B 21 45
3 C 34 76
4 A 35 34
5 D 65 56
6 B 56 45
동일한 st_name 값에 st_1, st_2 의 값이 다르게 입력이 될 수 있습니다.
이 때 st_id값이 나중에 있는 값(st_id값이 큰값)을 최종 데이터 값으로 인식을 해서
st_1, st_2의 값을 출력되게 하고 싶습니다.
아래와 같이 출력을 하고 싶습니다.
st_name st_1 st_2
A 35 34
B 56 45
C 34 76
D 65 56
order by는 그냥 출력되었을 때 정렬이더라구요.... ㅠ.ㅠ
st_id st_name st_1 st_2
1 A 22 34
2 B 21 45
3 C 34 76
4 A 35 34
5 D 65 56
6 B 56 45
동일한 st_name 값에 st_1, st_2 의 값이 다르게 입력이 될 수 있습니다.
이 때 st_id값이 나중에 있는 값(st_id값이 큰값)을 최종 데이터 값으로 인식을 해서
st_1, st_2의 값을 출력되게 하고 싶습니다.
아래와 같이 출력을 하고 싶습니다.
st_name st_1 st_2
A 35 34
B 56 45
C 34 76
D 65 56
order by는 그냥 출력되었을 때 정렬이더라구요.... ㅠ.ㅠ
댓글 전체
제가 어떻게 작성을 했는지 안적었네요.
$sql = "select st_id , st_name , st_1 , st_2 order by st_id desc";
$result = mysql_query($sql);
if(mysql_num_rows($result))
{
while($strow=mysql_fetch_array($result))
{
$strow[st_name]=iconv("utf-8","euc-kr",$strow[st_name]);
$str.= "{$strow[st_name]},{$row[st_1]},{$row[st_2]}".$str_blank."n";
}
}
echo "$str";
exit;
$sql = "select st_id , st_name , st_1 , st_2 order by st_id desc";
$result = mysql_query($sql);
if(mysql_num_rows($result))
{
while($strow=mysql_fetch_array($result))
{
$strow[st_name]=iconv("utf-8","euc-kr",$strow[st_name]);
$str.= "{$strow[st_name]},{$row[st_1]},{$row[st_2]}".$str_blank."n";
}
}
echo "$str";
exit;
Group by 를 이용해 보세요
group by st_name order by st_id desc 식으로 사용하니까 st_id 값이 작은 값이 출력이 됩니다. st_id 나중의 값에서 st_1, st_2의 값을 불러오고 싶습니다.
http://stackoverflow.com/questions/10460532/mysql-subquery-and-having-max-value-of-subquery
참고 하세요.
같은 테이블 만들어서 테스트 해보니 원하시는 결과값 나왔습니다.
참고 하세요.
같은 테이블 만들어서 테스트 해보니 원하시는 결과값 나왔습니다.
감사합니다. max 가 있었네요...