2013-06-13 2 views
0

나는이 데이터를 상호 작용하는 해당 소셜 미디어의 번호에 출력해야합니다.MYSQL는 mysql 데이터베이스에서 단 하나의 행을 가진 여러 행을 출력합니다.

4fblike_point, fbshare_point, tweet_point 인 상호 작용을하고, 그래서 fblike_point 아래 데이터에서 판단 tweet_point 상호 작용했습니다의 말을하자

을 follow_point가있다.

enter image description here

는 그래서 내가하고 싶은 것은 그것이 내가 fblike_point과 tweet_point로 출력 상호 작용해야했습니다 2 회부터입니다.

출력 :

2013년 5월 14일 | fblike_point

2013-05-14 | tweet_point

내가 4 번 상호 작용 한 경우 해당 소셜 미디어와 상호 작용하여 4 번 출력해야합니다.

SELECT date_participated, fblike_point FROM table WHERE fblike_point = 1 
SELECT date_participated, fbshare_point FROM table WHERE fbshare_point = 1 
SELECT date_participated, tweet_point FROM table WHERE tweet_point = 1 
SELECT date_participated, follow_point FROM table WHERE follow_point = 1 

그래서 다른 방법으로이 : 나는 선택 데이터를 에서 PHP를 MySQL의 쿼리를 사용하고 있는데, 예를 들어

글쎄, 그것은 중복 같았다,이 물건을 관리 할 수 ​​있지만, 짧은 방법이나 뭔가있어?

+2

왜 그렇게하고 싶습니까? 프로그래밍 언어로 결과 세트를 처리 할 수 ​​있습니다. – Raptor

+0

글쎄 ... 내가하려는 일은 나의 질문이 막연한 것 같다. 나는 PHP thou에서 그것을하고있다. =/ –

+0

@WesleyLachenal 나는 오히려 혼란 스럽다. 당신은 하루에 각 컬럼에 얼마나 많은 포인트를 갖게 되었는가 또는 그 날 X 주어진 컬럼에 포인트가 있었는지를 나열하고 싶습니까?이 쿼리를 사용해보십시오. SELECT date_participated, SUM (fblike_point) AS fblike_point, SUM (fbshare_point) AS fbshare_point, SUM (tweet_point) AS tweet_point, SUM (follow_point) AS follow_point FROM tickets GROUP BY date_participated'이 쿼리로 모든 상호 작용을 얻을 수 있습니다. 주어진 사용자는 하루에'echo $ row [ 'date_participated']를 쉽게 만들 수 있습니다. '|' . $ row [ 'fblike_point']. "\ n"; – Prix

답변

2

내가 4 번 상호 작용하면 출력해야 4 회 데이터 스키마와

, 당신도 당신이 인용 한 네 가지 쿼리, 또는이 이상 UNION 필요 했어.

그것은 방법이 스키마가 구성되어 있기 때문에

중복입니다 중복 같았다. 이러한 다양한 상호 작용을 모두 처리 할 수 ​​있기를 원한다면 (많은 의미가 있습니다.)이 경우 추가 테이블을 원할 것입니다. 하나의 열은이 테이블이 참조하는 원래 테이블의 행을 식별하고, 두 번째 테이블은 열 (아마 ENUM 유형)이 소셜 미디어를 식별합니다. 두 테이블 모두 함께 해당 테이블의 기본 키를 구성합니다.

이제 실제 테이블 에서처럼 VIEW을 만들 수 있습니다. 이렇게하면 기존 쿼리와의 호환성을 유지하면서 필요할 때보다 유연한 쿼리를 제공 할 수 있습니다.

관련 문제