我有mysql数据库结构和值:
name | x | y | z
------------------
name1 | 1 | 1 | 2
name2 | 2 | 1 | 3
name3 | 1 | 1 | 1
现在我需要为每一行添加额外的列,其中包含计数器唯一值(x,y,z):
name | x | y | z | unique
--------------------------
name1 | 1 | 1 | 2 | 2
name2 | 2 | 1 | 3 | 3
name3 | 1 | 1 | 1 | 1
我该怎么做?
答案 0 :(得分:1)
你可以使用select count distinct
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.elinformaticoenganchado.sergio.crossfighters"
android:versionCode="1"
android:versionName="1.0">
<application
android:allowBackup="true"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:name="com.orm.SugarApp">
<meta-data android:name="DATABASE" android:value="example.db" />
<meta-data android:name="VERSION" android:value="1" />
<meta-data android:name="QUERY_LOG" android:value="true" />
<meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="net.elinformaticoenganchado.sergio.crossfighters" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".chronometer" />
<activity android:name=".addPlan" />
</application>
</manifest>
此处有更多答案&gt; Counting DISTINCT over multiple columns,已经回答了。
答案 1 :(得分:0)
如果您不需要大规模扩展,可以执行此操作
SELECT *,
(CASE
WHEN x=y=z THEN 1
WHEN x=y OR x=z OR y=z THEN 2
ELSE 3
END) as `unique`
FROM `table`