我有一个像这样的用户
constructor(props) {
super(props);
this.state = {
rows: [],
};
}
addRow(){
this.state.rows.push(index++)
this.setState({ rows: this.state.rows })
}
render(){
let contactView = () => {
return <View>
<AddComponent />
</View>
}
return(
<View>
<View>
{contactView}
</View>
<TouchableHighlight onPress={ this.addRow } >
<Text>Add</Text>
</TouchableHighlight>
</View>
);
我想选择没有像这样的相同代码重复
ID | Code | Name
1 | f965a4eb IN | Bob
2 | f965a4eb OUT | Bob
3 | f965a4ed IN | James
4 | f965a4ed OUT | James
对此最好的查询是什么?
答案 0 :(得分:1)
您的数据面临的挑战是Code
,我们希望将其用于分组,最后将其隐藏在包含IN
或OUT
的字符串中。一种方法将实际代码分离出来然后使用该组并获得所需的结果。但是,如果将隔离的代码保存在单独的列中,那么向前推进可能会让您的生活更轻松。
SELECT t1.*
FROM yourTable t1
INNER JOIN
(
SELECT SUBSTRING_INDEX(Code, ' ', 1) AS Code, Name, MIN(ID) AS min_ID
FROM yourTable
GROUP BY SUBSTRING_INDEX(Code, ' ', 1), Name
) t2
ON t1.Name = t2.Name AND
SUBSTRING_INDEX(t1.Code, ' ', 1) = t2.Code AND
t1.ID = t2.min_ID
<强>输出:强>
在这里演示: