Database schema:

CREATE TABLE biwords (
	lid INTEGER NOT NULL -- example: ['1'],
	w1st INTEGER NOT NULL -- example: ['2', '1'],
	w2nd INTEGER NOT NULL -- example: ['2', '4'],
	occurrences INTEGER DEFAULT 0 -- example: ['4', '3'],
	PRIMARY KEY (lid, w1st, w2nd), 
	CONSTRAINT fk_biwords_words FOREIGN KEY(w2nd) REFERENCES words (wid),
	CONSTRAINT fk_biwords_words FOREIGN KEY(w1st) REFERENCES words (wid),
	CONSTRAINT fk_biwords_langs FOREIGN KEY(lid) REFERENCES langs (lid)
)


CREATE TABLE langs (
	lid INTEGER -- example: ['1'],
	lang TEXT -- example: ['ca'],
	locale TEXT -- example: ['ca_ES'],
	pages INTEGER DEFAULT 0 -- example: ['1129144'],
	words INTEGER DEFAULT 0 -- example: ['2764996'],
	PRIMARY KEY (lid), 
	UNIQUE (lang), 
	UNIQUE (locale)
)


CREATE TABLE langs_words (
	lid INTEGER NOT NULL -- example: ['1'],
	wid INTEGER NOT NULL -- example: ['2', '1'],
	occurrences INTEGER -- example: ['242', '16841'],
	PRIMARY KEY (lid, wid), 
	CONSTRAINT fk_langs_words_words FOREIGN KEY(wid) REFERENCES words (wid),
	CONSTRAINT fk_langs_words_langs FOREIGN KEY(lid) REFERENCES langs (lid)
)


CREATE TABLE pages (
	pid INTEGER -- example: ['2', '1'],
	lid INTEGER -- example: ['1'],
	page INTEGER DEFAULT NULL -- example: ['2', '1'],
	revision INTEGER DEFAULT NULL -- example: ['28236978', '24086480'],
	title TEXT -- example: ['Àbac', 'Abadia'],
	words INTEGER DEFAULT 0 -- example: ['1081', '68'],
	PRIMARY KEY (pid), 
	CONSTRAINT fk_pages_langs FOREIGN KEY(lid) REFERENCES langs (lid),
	UNIQUE (lid, page, title)
)


CREATE TABLE pages_words (
	pid INTEGER NOT NULL -- example: ['2', '1'],
	wid INTEGER NOT NULL -- example: ['2', '1'],
	occurrences INTEGER DEFAULT 0 -- example: ['30', '8'],
	PRIMARY KEY (pid, wid), 
	CONSTRAINT fk_pages_words_words FOREIGN KEY(wid) REFERENCES words (wid),
	CONSTRAINT fk_pages_words_pages FOREIGN KEY(pid) REFERENCES pages (pid)
)


CREATE TABLE words (
	wid INTEGER -- example: ['2506463', '2148990'],
	word TEXT -- example: ['+,2', '+,33'],
	occurrences INTEGER DEFAULT 0 -- example: ['242', '16841'],
	PRIMARY KEY (wid), 
	UNIQUE (word)
)

Question: Calculate the percentage of times that the same word appears in a pair.
Evidence: Pair is a relationship of two words: w1st and w2nd, where w1st is word id of the first word and w2nd is a word id of the second word; the same word appears in a pair refers to w1st = w2nd; times refers to occurrences; DIVIDE(COUNT(occurrences where w1st = w2nd), COUNT(occurrences)) as percentage;

SQL:
SELECT CAST(COUNT(CASE WHEN w1st = w2nd THEN 1 ELSE NULL END) AS REAL) * 100 / COUNT(w1st) FROM biwords